package com.fare.taluo.application.plane.city;

import java.util.List;
import java.util.Map;

import com.fare.taluo.vo.core.CityEntityVO;
import com.fare.taluo.vo.core.PortEntityVO;

public interface PortApplication {
	/**
	 * 获得所有的机杨信息
	 * @return
	 */
	public List<PortEntityVO> findAllPortEntityVO();
	/**
	 * 组装一个所有机场信息的Map对象
	 * @return key为机场编码，value为机场信息
	 */
	public Map<String,PortEntityVO> findPortEntityToMap();
	
	/**
	 * 通过城市三字码返回port
	 * @param cityCode
	 * @return
	 */
	public List<PortEntityVO> findPortEntityByCityCode(String cityCode);
	/**
	 * 通过城市三字码返回城市信息
	 * @param cityCode
	 * @return
	 */
	public List<CityEntityVO> findCityEntityByCityCode(String cityCode);
	/**
	 * 通过城市名称获得机场信息
	 * @param cityName
	 * @return
	 */
	public PortEntityVO findPortEntityByCityName(String cityName);
	/**
	 * 通过机场三字码获得机场信息
	 * @param portCode
	 * @return
	 */
	public PortEntityVO findCityNameByPortCode(String portCode);

	/**
	 * 组装一个所有机场信息的Map对象
	 * @return key为城市名，value为portentity
	 */
	public Map<String,PortEntityVO> findPortEntityToMapByName();
	/**
	 * 通过机场名称来获得对应的机场信息
	 * @param portName
	 * @return
	 */
	public PortEntityVO findPortByPortName(String portName);
	/**
	 * 通过任务配置来获得对应的机场信息
	 * @param channelKey
	 * @return
	 */
	public List<PortEntityVO> getPortsWithTaskTemplate(String channelKey);
	/**
	 * 根据城市来获得机场
	 * @param id
	 * @return
	 */
	public List<PortEntityVO> findByCityId(Long cityId);
}
